package com.zy.mc_module.mvp.contract;

import com.zy.mc_module.mvp.base.BaseModel;
import com.zy.mc_module.mvp.base.IView;
import com.zy.mc_module.mvp.bean.BaseBean;
import com.zy.mc_module.mvp.bean.UserBean;

import io.reactivex.Observable;

/**
 * Created on 18/12/3
 */
public interface UserContract {

    interface View extends IView {
        //获取用户信息
        void onUserInfoSuccess(UserBean loginBean);

        <T> void onSuccess(T t, int type);
    }

    interface Model extends BaseModel {
        /***
         * 获取用户信息
         */
        Observable<BaseBean<UserBean>> getUserInfo();

        /***
         * 编辑用户信息
         */
        Observable<BaseBean> editUserInfo(String url, Object... objects);

        /***
         * 获取用户状态信息
         */
        Observable<BaseBean<UserBean>> queryUserStatus();
        /***
         * 查询用户对店铺，商品，文章，浏览关注数量
         */
        Observable<BaseBean<UserBean>> queryUserBrowseRecordNum();
    }
}
